package com.dick.base.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 订单项生产情况追踪
 */
@TableName(
        "(SELECT \n" +
        "    item.*,\n" +
        "    o.urgent,\n" +
        "    o.sale_date,\n" +
        "    o.material_price,\n" +
        "    o.sale_price,\n" +
        "    o.price_type,\n" +
        "    o.sale_name\n" +
        "FROM\n" +
        "    produce_item item\n" +
        "        LEFT JOIN\n" +
        "    business_order o ON item.order_id = o.id) t")
@Data
public class BusinessProduceItem {
    @TableId
    private Long id;

    /**
     * 材质，长度限制0~32
     */
    private String material;
    /**
     * 厚度，长度限制0~32，单位mm
     */
    private String thickness;
    /**
     * 宽度，int类型，单位mm
     */
    private Integer width;
    /**
     * 长度，int类型，单位mm
     */
    private Integer length;
    /**
     * 数量，int类型，单位：张
     */
    private Integer quantity;
    /**
     * 重量，int类型，单位：千克
     */
    private BigDecimal weight;
    /**
     * 是否贴膜
     */
    private Boolean film;
    /**
     * 是否改板
     */
    private Boolean changeSpecification;
    /**
     * 顺序，int类型
     */
    private Integer itemIndex;
    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 数据状态：10-待加工 20-加工中 30-加工完成 40-打包完成 50-出库完成
     */
    private Integer status;

    /**
     * 工程id，冗余存储
     */
    private Long projectId;
    /**
     * 工程名称，冗余存储,0~16
     */
    private String projectName;
    /**
     * 批次号，冗余存储，0~32
     */
    private String projectBatchNumber;
    /**
     * 客户简称，冗余存储，0~8
     */
    private String customerNickname;
    /**
     * 负责加工的用户id
     */
    private Long userId;

    private LocalDateTime updateTime;
    private LocalDateTime createTime;

    /**
     * 价格方式：10-进货日期价格 20-出货日期价格
     */
    private Integer priceType;
    /**
     * 销售员，16
     */
    private String saleName;
    /**
     * 紧急程度：10-轻度 20-中度 30-加急
     */
    private Integer urgent;
    /**
     * 铝锭单价，单位：元/kg
     */
    private BigDecimal materialPrice;
    /**
     * 销售单价，单位：元/kg
     */
    private BigDecimal salePrice;
    /**
     * 销售日期
     */
    private LocalDate saleDate;
}
